package casarural;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.util.Vector;

public interface InterfazCapaDatos extends Remote{

    
    public boolean hacerLogin(String usuario, String password) throws RemoteException;

    public Vector seleccionarCasas(String propietario) throws RemoteException;

    public int crearOferta (java.sql.Date diaIni, java.sql.Date diaFin, float precio, int numCasa) throws RemoteException;

    public Vector seleccionarOfertasReservadas(java.sql.Date diaIni, java.sql.Date diaFin, int numCasa) throws RemoteException;
    
    
    
    //NI MIRAR-NI MIRAR-NI MIRAR----------------------------------------------------
    
        public Vector seleccionarReservas(java.sql.Date diaIni, java.sql.Date diaFin, int numCasa) throws NoSePuedeReservarException, RemoteException;;
    
        public Propietario seleccionarPropietario(int numCasa)throws RemoteException;

        public Vector seleccionarCasas() throws RemoteException;

        public Vector seleccionarCasasDorWC(int numDormitorios, int numBanos, java.sql.Date diaIni, java.sql.Date diaFin, float precio, int numMinDias, boolean orden) throws RemoteException;

        public Vector seleccionarOfertas(java.sql.Date diaIni,java.sql.Date diaFin, int numCasa) throws RemoteException;

        public void transaccionDeReserva(Vector reservasTotales, String numReserva,String numTfnoReserva, float precioTotal) throws RemoteException;
        
        public void transaccionDeOfertas(Vector todasLasOfertasIncluidas, java.sql.Date diaIni, java.sql.Date diaFin, String numOfePrimera, String numOfeUltima, float precio, int numCasa) throws RemoteException;
        
        public Vector numHabitacionesnumBanos(int numCasa) throws RemoteException;
        
        public int camas(int numCasa) throws RemoteException;
        
        public Vector<Reserva> seleccionarReservas (java.sql.Date diaIni, java.sql.Date diaFin) throws RemoteException;

        public Vector<Oferta> seleccionarOfertas (String numReserva) throws RemoteException;

        public void anularReserva(String numR, Vector<Oferta> ofertas, Vector<Oferta> ofAnular) throws SQLException, RemoteException;
        
}
